function Yc(e,t){for(var n=0;nr[l]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();function Xc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var xu={exports:{}},fl={},wu={exports:{}},R={};/** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var lr=Symbol.for("react.element"),Gc=Symbol.for("react.portal"),Zc=Symbol.for("react.fragment"),Jc=Symbol.for("react.strict_mode"),qc=Symbol.for("react.profiler"),bc=Symbol.for("react.provider"),ed=Symbol.for("react.context"),td=Symbol.for("react.forward_ref"),nd=Symbol.for("react.suspense"),rd=Symbol.for("react.memo"),ld=Symbol.for("react.lazy"),ts=Symbol.iterator;function id(e){return e===null||typeof e!="object"?null:(e=ts&&e[ts]||e["@@iterator"],typeof e=="function"?e:null)}var ku={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Su=Object.assign,Cu={};function fn(e,t,n){this.props=e,this.context=t,this.refs=Cu,this.updater=n||ku}fn.prototype.isReactComponent={};fn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};fn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Eu(){}Eu.prototype=fn.prototype;function ro(e,t,n){this.props=e,this.context=t,this.refs=Cu,this.updater=n||ku}var lo=ro.prototype=new Eu;lo.constructor=ro;Su(lo,fn.prototype);lo.isPureReactComponent=!0;var ns=Array.isArray,ju=Object.prototype.hasOwnProperty,io={current:null},Nu={key:!0,ref:!0,__self:!0,__source:!0};function _u(e,t,n){var r,l={},i=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(i=""+t.key),t)ju.call(t,r)&&!Nu.hasOwnProperty(r)&&(l[r]=t[r]);var s=arguments.length-2;if(s===1)l.children=n;else if(1>>1,J=N[Q];if(0>>1;Ql(Rl,L))ktl(dr,Rl)?(N[Q]=dr,N[kt]=L,Q=kt):(N[Q]=Rl,N[wt]=L,Q=wt);else if(ktl(dr,L))N[Q]=dr,N[kt]=L,Q=kt;else break e}}return z}function l(N,z){var L=N.sortIndex-z.sortIndex;return L!==0?L:N.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var u=[],c=[],m=1,h=null,v=3,g=!1,x=!1,w=!1,E=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,d=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(N){for(var z=n(c);z!==null;){if(z.callback===null)r(c);else if(z.startTime<=N)r(c),z.sortIndex=z.expirationTime,t(u,z);else break;z=n(c)}}function y(N){if(w=!1,p(N),!x)if(n(u)!==null)x=!0,zl(S);else{var z=n(c);z!==null&&Ll(y,z.startTime-N)}}function S(N,z){x=!1,w&&(w=!1,f(T),T=-1),g=!0;var L=v;try{for(p(z),h=n(u);h!==null&&(!(h.expirationTime>z)||N&&!Pe());){var Q=h.callback;if(typeof Q=="function"){h.callback=null,v=h.priorityLevel;var J=Q(h.expirationTime<=z);z=e.unstable_now(),typeof J=="function"?h.callback=J:h===n(u)&&r(u),p(z)}else r(u);h=n(u)}if(h!==null)var cr=!0;else{var wt=n(c);wt!==null&&Ll(y,wt.startTime-z),cr=!1}return cr}finally{h=null,v=L,g=!1}}var _=!1,P=null,T=-1,H=5,O=-1;function Pe(){return!(e.unstable_now()-ON||125Q?(N.sortIndex=L,t(c,N),n(u)===null&&N===n(c)&&(w?(f(T),T=-1):w=!0,Ll(y,L-Q))):(N.sortIndex=J,t(u,N),x||g||(x=!0,zl(S))),N},e.unstable_shouldYield=Pe,e.unstable_wrapCallback=function(N){var z=v;return function(){var L=v;v=z;try{return N.apply(this,arguments)}finally{v=L}}}})(Ru);Lu.exports=Ru;var gd=Lu.exports;/** * @license React * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var xd=C,xe=gd;function k(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),si=Object.prototype.hasOwnProperty,wd=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ls={},is={};function kd(e){return si.call(is,e)?!0:si.call(ls,e)?!1:wd.test(e)?is[e]=!0:(ls[e]=!0,!1)}function Sd(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Cd(e,t,n,r){if(t===null||typeof t>"u"||Sd(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ce(e,t,n,r,l,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var ne={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ne[e]=new ce(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ne[t]=new ce(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ne[e]=new ce(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ne[e]=new ce(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ne[e]=new ce(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ne[e]=new ce(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ne[e]=new ce(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ne[e]=new ce(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ne[e]=new ce(e,5,!1,e.toLowerCase(),null,!1,!1)});var so=/[\-:]([a-z])/g;function uo(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(so,uo);ne[t]=new ce(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(so,uo);ne[t]=new ce(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(so,uo);ne[t]=new ce(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ne[e]=new ce(e,1,!1,e.toLowerCase(),null,!1,!1)});ne.xlinkHref=new ce("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ne[e]=new ce(e,1,!1,e.toLowerCase(),null,!0,!0)});function ao(e,t,n,r){var l=ne.hasOwnProperty(t)?ne[t]:null;(l!==null?l.type!==0:r||!(2s||l[o]!==i[s]){var u=` `+l[o].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=o&&0<=s);break}}}finally{Il=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Nn(e):""}function Ed(e){switch(e.tag){case 5:return Nn(e.type);case 16:return Nn("Lazy");case 13:return Nn("Suspense");case 19:return Nn("SuspenseList");case 0:case 2:case 15:return e=Dl(e.type,!1),e;case 11:return e=Dl(e.type.render,!1),e;case 1:return e=Dl(e.type,!0),e;default:return""}}function di(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case $t:return"Fragment";case Bt:return"Portal";case ui:return"Profiler";case co:return"StrictMode";case ai:return"Suspense";case ci:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Iu:return(e.displayName||"Context")+".Consumer";case Mu:return(e._context.displayName||"Context")+".Provider";case fo:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case po:return t=e.displayName||null,t!==null?t:di(e.type)||"Memo";case be:t=e._payload,e=e._init;try{return di(e(t))}catch{}}return null}function jd(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return di(t);case 8:return t===co?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function mt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Fu(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Nd(e){var t=Fu(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function hr(e){e._valueTracker||(e._valueTracker=Nd(e))}function Uu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Fu(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function $r(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function fi(e,t){var n=t.checked;return W({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function ss(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=mt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Au(e,t){t=t.checked,t!=null&&ao(e,"checked",t,!1)}function pi(e,t){Au(e,t);var n=mt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?hi(e,t.type,n):t.hasOwnProperty("defaultValue")&&hi(e,t.type,mt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function us(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function hi(e,t,n){(t!=="number"||$r(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var _n=Array.isArray;function qt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=mr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Bn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var zn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},_d=["Webkit","ms","Moz","O"];Object.keys(zn).forEach(function(e){_d.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),zn[t]=zn[e]})});function Vu(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||zn.hasOwnProperty(e)&&zn[e]?(""+t).trim():t+"px"}function Hu(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=Vu(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Pd=W({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function yi(e,t){if(t){if(Pd[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(k(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(k(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(k(61))}if(t.style!=null&&typeof t.style!="object")throw Error(k(62))}}function gi(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var xi=null;function ho(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var wi=null,bt=null,en=null;function ds(e){if(e=sr(e)){if(typeof wi!="function")throw Error(k(280));var t=e.stateNode;t&&(t=yl(t),wi(e.stateNode,e.type,t))}}function Qu(e){bt?en?en.push(e):en=[e]:bt=e}function Ku(){if(bt){var e=bt,t=en;if(en=bt=null,ds(e),t)for(e=0;e>>=0,e===0?32:31-(Ad(e)/Bd|0)|0}var vr=64,yr=4194304;function Pn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Qr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~l;s!==0?r=Pn(s):(i&=o,i!==0&&(r=Pn(i)))}else o=n&~l,o!==0?r=Pn(o):i!==0&&(r=Pn(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function ir(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Oe(t),e[t]=n}function Hd(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Rn),ws=" ",ks=!1;function fa(e,t){switch(e){case"keyup":return xf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function pa(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Wt=!1;function kf(e,t){switch(e){case"compositionend":return pa(t);case"keypress":return t.which!==32?null:(ks=!0,ws);case"textInput":return e=t.data,e===ws&&ks?null:e;default:return null}}function Sf(e,t){if(Wt)return e==="compositionend"||!So&&fa(e,t)?(e=ca(),Rr=xo=rt=null,Wt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=js(n)}}function ya(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ya(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ga(){for(var e=window,t=$r();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=$r(e.document)}return t}function Co(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Lf(e){var t=ga(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ya(n.ownerDocument.documentElement,n)){if(r!==null&&Co(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=Ns(n,i);var o=Ns(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Vt=null,Ni=null,Mn=null,_i=!1;function _s(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;_i||Vt==null||Vt!==$r(r)||(r=Vt,"selectionStart"in r&&Co(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Mn&&Kn(Mn,r)||(Mn=r,r=Xr(Ni,"onSelect"),0Kt||(e.current=Oi[Kt],Oi[Kt]=null,Kt--)}function D(e,t){Kt++,Oi[Kt]=e.current,e.current=t}var vt={},oe=gt(vt),pe=gt(!1),zt=vt;function on(e,t){var n=e.type.contextTypes;if(!n)return vt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function he(e){return e=e.childContextTypes,e!=null}function Zr(){U(pe),U(oe)}function Ms(e,t,n){if(oe.current!==vt)throw Error(k(168));D(oe,t),D(pe,n)}function _a(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(k(108,jd(e)||"Unknown",l));return W({},n,r)}function Jr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||vt,zt=oe.current,D(oe,e),D(pe,pe.current),!0}function Is(e,t,n){var r=e.stateNode;if(!r)throw Error(k(169));n?(e=_a(e,t,zt),r.__reactInternalMemoizedMergedChildContext=e,U(pe),U(oe),D(oe,e)):U(pe),D(pe,n)}var We=null,gl=!1,Zl=!1;function Pa(e){We===null?We=[e]:We.push(e)}function Vf(e){gl=!0,Pa(e)}function xt(){if(!Zl&&We!==null){Zl=!0;var e=0,t=I;try{var n=We;for(I=1;e>=o,l-=o,Ve=1<<32-Oe(t)+l|n<T?(H=P,P=null):H=P.sibling;var O=v(f,P,p[T],y);if(O===null){P===null&&(P=H);break}e&&P&&O.alternate===null&&t(f,P),d=i(O,d,T),_===null?S=O:_.sibling=O,_=O,P=H}if(T===p.length)return n(f,P),A&&St(f,T),S;if(P===null){for(;TT?(H=P,P=null):H=P.sibling;var Pe=v(f,P,O.value,y);if(Pe===null){P===null&&(P=H);break}e&&P&&Pe.alternate===null&&t(f,P),d=i(Pe,d,T),_===null?S=Pe:_.sibling=Pe,_=Pe,P=H}if(O.done)return n(f,P),A&&St(f,T),S;if(P===null){for(;!O.done;T++,O=p.next())O=h(f,O.value,y),O!==null&&(d=i(O,d,T),_===null?S=O:_.sibling=O,_=O);return A&&St(f,T),S}for(P=r(f,P);!O.done;T++,O=p.next())O=g(P,f,T,O.value,y),O!==null&&(e&&O.alternate!==null&&P.delete(O.key===null?T:O.key),d=i(O,d,T),_===null?S=O:_.sibling=O,_=O);return e&&P.forEach(function(vn){return t(f,vn)}),A&&St(f,T),S}function E(f,d,p,y){if(typeof p=="object"&&p!==null&&p.type===$t&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case pr:e:{for(var S=p.key,_=d;_!==null;){if(_.key===S){if(S=p.type,S===$t){if(_.tag===7){n(f,_.sibling),d=l(_,p.props.children),d.return=f,f=d;break e}}else if(_.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===be&&Us(S)===_.type){n(f,_.sibling),d=l(_,p.props),d.ref=Cn(f,_,p),d.return=f,f=d;break e}n(f,_);break}else t(f,_);_=_.sibling}p.type===$t?(d=Pt(p.props.children,f.mode,y,p.key),d.return=f,f=d):(y=Br(p.type,p.key,p.props,null,f.mode,y),y.ref=Cn(f,d,p),y.return=f,f=y)}return o(f);case Bt:e:{for(_=p.key;d!==null;){if(d.key===_)if(d.tag===4&&d.stateNode.containerInfo===p.containerInfo&&d.stateNode.implementation===p.implementation){n(f,d.sibling),d=l(d,p.children||[]),d.return=f,f=d;break e}else{n(f,d);break}else t(f,d);d=d.sibling}d=li(p,f.mode,y),d.return=f,f=d}return o(f);case be:return _=p._init,E(f,d,_(p._payload),y)}if(_n(p))return x(f,d,p,y);if(gn(p))return w(f,d,p,y);Er(f,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,d!==null&&d.tag===6?(n(f,d.sibling),d=l(d,p),d.return=f,f=d):(n(f,d),d=ri(p,f.mode,y),d.return=f,f=d),o(f)):n(f,d)}return E}var un=Ra(!0),Oa=Ra(!1),el=gt(null),tl=null,Gt=null,_o=null;function Po(){_o=Gt=tl=null}function To(e){var t=el.current;U(el),e._currentValue=t}function Di(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function nn(e,t){tl=e,_o=Gt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(fe=!0),e.firstContext=null)}function Ne(e){var t=e._currentValue;if(_o!==e)if(e={context:e,memoizedValue:t,next:null},Gt===null){if(tl===null)throw Error(k(308));Gt=e,tl.dependencies={lanes:0,firstContext:e}}else Gt=Gt.next=e;return t}var jt=null;function zo(e){jt===null?jt=[e]:jt.push(e)}function Ma(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,zo(t)):(n.next=l.next,l.next=n),t.interleaved=n,Xe(e,r)}function Xe(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var et=!1;function Lo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ia(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qe(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ct(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,M&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Xe(e,n)}return l=r.interleaved,l===null?(t.next=t,zo(r)):(t.next=l.next,l.next=t),r.interleaved=t,Xe(e,n)}function Mr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,vo(e,n)}}function As(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function nl(e,t,n,r){var l=e.updateQueue;et=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,s=l.shared.pending;if(s!==null){l.shared.pending=null;var u=s,c=u.next;u.next=null,o===null?i=c:o.next=c,o=u;var m=e.alternate;m!==null&&(m=m.updateQueue,s=m.lastBaseUpdate,s!==o&&(s===null?m.firstBaseUpdate=c:s.next=c,m.lastBaseUpdate=u))}if(i!==null){var h=l.baseState;o=0,m=c=u=null,s=i;do{var v=s.lane,g=s.eventTime;if((r&v)===v){m!==null&&(m=m.next={eventTime:g,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var x=e,w=s;switch(v=t,g=n,w.tag){case 1:if(x=w.payload,typeof x=="function"){h=x.call(g,h,v);break e}h=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=w.payload,v=typeof x=="function"?x.call(g,h,v):x,v==null)break e;h=W({},h,v);break e;case 2:et=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,v=l.effects,v===null?l.effects=[s]:v.push(s))}else g={eventTime:g,lane:v,tag:s.tag,payload:s.payload,callback:s.callback,next:null},m===null?(c=m=g,u=h):m=m.next=g,o|=v;if(s=s.next,s===null){if(s=l.shared.pending,s===null)break;v=s,s=v.next,v.next=null,l.lastBaseUpdate=v,l.shared.pending=null}}while(!0);if(m===null&&(u=h),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=m,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Ot|=o,e.lanes=o,e.memoizedState=h}}function Bs(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=ql.transition;ql.transition={};try{e(!1),t()}finally{I=n,ql.transition=r}}function qa(){return _e().memoizedState}function Yf(e,t,n){var r=ft(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},ba(e))ec(t,n);else if(n=Ma(e,t,n,r),n!==null){var l=ue();Me(n,e,r,l),tc(n,t,r)}}function Xf(e,t,n){var r=ft(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(ba(e))ec(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,s=i(o,n);if(l.hasEagerState=!0,l.eagerState=s,Ie(s,o)){var u=t.interleaved;u===null?(l.next=l,zo(t)):(l.next=u.next,u.next=l),t.interleaved=l;return}}catch{}finally{}n=Ma(e,t,l,r),n!==null&&(l=ue(),Me(n,e,r,l),tc(n,t,r))}}function ba(e){var t=e.alternate;return e===$||t!==null&&t===$}function ec(e,t){In=ll=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function tc(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,vo(e,n)}}var il={readContext:Ne,useCallback:re,useContext:re,useEffect:re,useImperativeHandle:re,useInsertionEffect:re,useLayoutEffect:re,useMemo:re,useReducer:re,useRef:re,useState:re,useDebugValue:re,useDeferredValue:re,useTransition:re,useMutableSource:re,useSyncExternalStore:re,useId:re,unstable_isNewReconciler:!1},Gf={readContext:Ne,useCallback:function(e,t){return Fe().memoizedState=[e,t===void 0?null:t],e},useContext:Ne,useEffect:Ws,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Dr(4194308,4,Ya.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Dr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Dr(4,2,e,t)},useMemo:function(e,t){var n=Fe();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Fe();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Yf.bind(null,$,e),[r.memoizedState,e]},useRef:function(e){var t=Fe();return e={current:e},t.memoizedState=e},useState:$s,useDebugValue:Ao,useDeferredValue:function(e){return Fe().memoizedState=e},useTransition:function(){var e=$s(!1),t=e[0];return e=Kf.bind(null,e[1]),Fe().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=$,l=Fe();if(A){if(n===void 0)throw Error(k(407));n=n()}else{if(n=t(),b===null)throw Error(k(349));Rt&30||Aa(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Ws($a.bind(null,r,i,e),[e]),r.flags|=2048,er(9,Ba.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Fe(),t=b.identifierPrefix;if(A){var n=He,r=Ve;n=(r&~(1<<32-Oe(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=qn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Ue]=t,e[Gn]=r,dc(e,t,!1,!1),t.stateNode=e;e:{switch(o=gi(n,r),n){case"dialog":F("cancel",e),F("close",e),l=r;break;case"iframe":case"object":case"embed":F("load",e),l=r;break;case"video":case"audio":for(l=0;ldn&&(t.flags|=128,r=!0,En(i,!1),t.lanes=4194304)}else{if(!r)if(e=rl(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),En(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!A)return le(t),null}else 2*K()-i.renderingStartTime>dn&&n!==1073741824&&(t.flags|=128,r=!0,En(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=K(),t.sibling=null,n=B.current,D(B,r?n&1|2:n&1),t):(le(t),null);case 22:case 23:return Qo(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ve&1073741824&&(le(t),t.subtreeFlags&6&&(t.flags|=8192)):le(t),null;case 24:return null;case 25:return null}throw Error(k(156,t.tag))}function rp(e,t){switch(jo(t),t.tag){case 1:return he(t.type)&&Zr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return an(),U(pe),U(oe),Mo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Oo(t),null;case 13:if(U(B),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(k(340));sn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return U(B),null;case 4:return an(),null;case 10:return To(t.type._context),null;case 22:case 23:return Qo(),null;case 24:return null;default:return null}}var Nr=!1,ie=!1,lp=typeof WeakSet=="function"?WeakSet:Set,j=null;function Zt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){V(e,t,r)}else n.current=null}function Qi(e,t,n){try{n()}catch(r){V(e,t,r)}}var bs=!1;function ip(e,t){if(Pi=Kr,e=ga(),Co(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,s=-1,u=-1,c=0,m=0,h=e,v=null;t:for(;;){for(var g;h!==n||l!==0&&h.nodeType!==3||(s=o+l),h!==i||r!==0&&h.nodeType!==3||(u=o+r),h.nodeType===3&&(o+=h.nodeValue.length),(g=h.firstChild)!==null;)v=h,h=g;for(;;){if(h===e)break t;if(v===n&&++c===l&&(s=o),v===i&&++m===r&&(u=o),(g=h.nextSibling)!==null)break;h=v,v=h.parentNode}h=g}n=s===-1||u===-1?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ti={focusedElem:e,selectionRange:n},Kr=!1,j=t;j!==null;)if(t=j,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,j=e;else for(;j!==null;){t=j;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var w=x.memoizedProps,E=x.memoizedState,f=t.stateNode,d=f.getSnapshotBeforeUpdate(t.elementType===t.type?w:ze(t.type,w),E);f.__reactInternalSnapshotBeforeUpdate=d}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(k(163))}}catch(y){V(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,j=e;break}j=t.return}return x=bs,bs=!1,x}function Dn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Qi(t,n,i)}l=l.next}while(l!==r)}}function kl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Ki(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function hc(e){var t=e.alternate;t!==null&&(e.alternate=null,hc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ue],delete t[Gn],delete t[Ri],delete t[$f],delete t[Wf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function mc(e){return e.tag===5||e.tag===3||e.tag===4}function eu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||mc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Yi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Gr));else if(r!==4&&(e=e.child,e!==null))for(Yi(e,t,n),e=e.sibling;e!==null;)Yi(e,t,n),e=e.sibling}function Xi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Xi(e,t,n),e=e.sibling;e!==null;)Xi(e,t,n),e=e.sibling}var ee=null,Le=!1;function qe(e,t,n){for(n=n.child;n!==null;)vc(e,t,n),n=n.sibling}function vc(e,t,n){if(Ae&&typeof Ae.onCommitFiberUnmount=="function")try{Ae.onCommitFiberUnmount(pl,n)}catch{}switch(n.tag){case 5:ie||Zt(n,t);case 6:var r=ee,l=Le;ee=null,qe(e,t,n),ee=r,Le=l,ee!==null&&(Le?(e=ee,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ee.removeChild(n.stateNode));break;case 18:ee!==null&&(Le?(e=ee,n=n.stateNode,e.nodeType===8?Gl(e.parentNode,n):e.nodeType===1&&Gl(e,n),Hn(e)):Gl(ee,n.stateNode));break;case 4:r=ee,l=Le,ee=n.stateNode.containerInfo,Le=!0,qe(e,t,n),ee=r,Le=l;break;case 0:case 11:case 14:case 15:if(!ie&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&Qi(n,t,o),l=l.next}while(l!==r)}qe(e,t,n);break;case 1:if(!ie&&(Zt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){V(n,t,s)}qe(e,t,n);break;case 21:qe(e,t,n);break;case 22:n.mode&1?(ie=(r=ie)||n.memoizedState!==null,qe(e,t,n),ie=r):qe(e,t,n);break;default:qe(e,t,n)}}function tu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new lp),t.forEach(function(r){var l=hp.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Te(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=o),r&=~i}if(r=l,r=K()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*sp(r/1960))-r,10e?16:e,lt===null)var r=!1;else{if(e=lt,lt=null,ul=0,M&6)throw Error(k(331));var l=M;for(M|=4,j=e.current;j!==null;){var i=j,o=i.child;if(j.flags&16){var s=i.deletions;if(s!==null){for(var u=0;uK()-Vo?_t(e,0):Wo|=n),me(e,t)}function Ec(e,t){t===0&&(e.mode&1?(t=yr,yr<<=1,!(yr&130023424)&&(yr=4194304)):t=1);var n=ue();e=Xe(e,t),e!==null&&(ir(e,t,n),me(e,n))}function pp(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ec(e,n)}function hp(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(k(314))}r!==null&&r.delete(t),Ec(e,n)}var jc;jc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||pe.current)fe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return fe=!1,tp(e,t,n);fe=!!(e.flags&131072)}else fe=!1,A&&t.flags&1048576&&Ta(t,br,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Fr(e,t),e=t.pendingProps;var l=on(t,oe.current);nn(t,n),l=Do(null,t,r,e,l,n);var i=Fo();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,he(r)?(i=!0,Jr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Lo(t),l.updater=wl,t.stateNode=l,l._reactInternals=t,Ui(t,r,e,n),t=$i(null,t,r,!0,i,n)):(t.tag=0,A&&i&&Eo(t),se(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Fr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=vp(r),e=ze(r,e),l){case 0:t=Bi(null,t,r,e,n);break e;case 1:t=Zs(null,t,r,e,n);break e;case 11:t=Xs(null,t,r,e,n);break e;case 14:t=Gs(null,t,r,ze(r.type,e),n);break e}throw Error(k(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Bi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Zs(e,t,r,l,n);case 3:e:{if(uc(t),e===null)throw Error(k(387));r=t.pendingProps,i=t.memoizedState,l=i.element,Ia(e,t),nl(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=cn(Error(k(423)),t),t=Js(e,t,r,n,l);break e}else if(r!==l){l=cn(Error(k(424)),t),t=Js(e,t,r,n,l);break e}else for(ye=at(t.stateNode.containerInfo.firstChild),ge=t,A=!0,Re=null,n=Oa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(sn(),r===l){t=Ge(e,t,n);break e}se(e,t,r,n)}t=t.child}return t;case 5:return Da(t),e===null&&Ii(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,zi(r,l)?o=null:i!==null&&zi(r,i)&&(t.flags|=32),sc(e,t),se(e,t,o,n),t.child;case 6:return e===null&&Ii(t),null;case 13:return ac(e,t,n);case 4:return Ro(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=un(t,null,r,n):se(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Xs(e,t,r,l,n);case 7:return se(e,t,t.pendingProps,n),t.child;case 8:return se(e,t,t.pendingProps.children,n),t.child;case 12:return se(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,o=l.value,D(el,r._currentValue),r._currentValue=o,i!==null)if(Ie(i.value,o)){if(i.children===l.children&&!pe.current){t=Ge(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){o=i.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(i.tag===1){u=Qe(-1,n&-n),u.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var m=c.pending;m===null?u.next=u:(u.next=m.next,m.next=u),c.pending=u}}i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),Di(i.return,n,t),s.lanes|=n;break}u=u.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(k(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),Di(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}se(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,nn(t,n),l=Ne(l),r=r(l),t.flags|=1,se(e,t,r,n),t.child;case 14:return r=t.type,l=ze(r,t.pendingProps),l=ze(r.type,l),Gs(e,t,r,l,n);case 15:return ic(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Fr(e,t),t.tag=1,he(r)?(e=!0,Jr(t)):e=!1,nn(t,n),nc(t,r,l),Ui(t,r,l,n),$i(null,t,r,!0,e,n);case 19:return cc(e,t,n);case 22:return oc(e,t,n)}throw Error(k(156,t.tag))};function Nc(e,t){return bu(e,t)}function mp(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ee(e,t,n,r){return new mp(e,t,n,r)}function Yo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function vp(e){if(typeof e=="function")return Yo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===fo)return 11;if(e===po)return 14}return 2}function pt(e,t){var n=e.alternate;return n===null?(n=Ee(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Br(e,t,n,r,l,i){var o=2;if(r=e,typeof e=="function")Yo(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case $t:return Pt(n.children,l,i,t);case co:o=8,l|=8;break;case ui:return e=Ee(12,n,t,l|2),e.elementType=ui,e.lanes=i,e;case ai:return e=Ee(13,n,t,l),e.elementType=ai,e.lanes=i,e;case ci:return e=Ee(19,n,t,l),e.elementType=ci,e.lanes=i,e;case Du:return Cl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Mu:o=10;break e;case Iu:o=9;break e;case fo:o=11;break e;case po:o=14;break e;case be:o=16,r=null;break e}throw Error(k(130,e==null?e:typeof e,""))}return t=Ee(o,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Pt(e,t,n,r){return e=Ee(7,e,r,t),e.lanes=n,e}function Cl(e,t,n,r){return e=Ee(22,e,r,t),e.elementType=Du,e.lanes=n,e.stateNode={isHidden:!1},e}function ri(e,t,n){return e=Ee(6,e,null,t),e.lanes=n,e}function li(e,t,n){return t=Ee(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function yp(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ul(0),this.expirationTimes=Ul(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ul(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Xo(e,t,n,r,l,i,o,s,u){return e=new yp(e,t,n,s,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ee(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Lo(i),e}function gp(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(zc)}catch(e){console.error(e)}}zc(),zu.exports=we;var Cp=zu.exports,Lc,au=Cp;Lc=au.createRoot,au.hydrateRoot;/** * @remix-run/router v1.23.0 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */function nr(){return nr=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Rc(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function jp(){return Math.random().toString(36).substr(2,8)}function du(e,t){return{usr:e.state,key:e.key,idx:t}}function bi(e,t,n,r){return n===void 0&&(n=null),nr({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?mn(t):t,{state:n,key:t&&t.key||r||jp()})}function dl(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function mn(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function Np(e,t,n,r){r===void 0&&(r={});let{window:l=document.defaultView,v5Compat:i=!1}=r,o=l.history,s=it.Pop,u=null,c=m();c==null&&(c=0,o.replaceState(nr({},o.state,{idx:c}),""));function m(){return(o.state||{idx:null}).idx}function h(){s=it.Pop;let E=m(),f=E==null?null:E-c;c=E,u&&u({action:s,location:w.location,delta:f})}function v(E,f){s=it.Push;let d=bi(w.location,E,f);c=m()+1;let p=du(d,c),y=w.createHref(d);try{o.pushState(p,"",y)}catch(S){if(S instanceof DOMException&&S.name==="DataCloneError")throw S;l.location.assign(y)}i&&u&&u({action:s,location:w.location,delta:1})}function g(E,f){s=it.Replace;let d=bi(w.location,E,f);c=m();let p=du(d,c),y=w.createHref(d);o.replaceState(p,"",y),i&&u&&u({action:s,location:w.location,delta:0})}function x(E){let f=l.location.origin!=="null"?l.location.origin:l.location.href,d=typeof E=="string"?E:dl(E);return d=d.replace(/ $/,"%20"),X(f,"No window.location.(origin|href) available to create URL for href: "+d),new URL(d,f)}let w={get action(){return s},get location(){return e(l,o)},listen(E){if(u)throw new Error("A history only accepts one active listener");return l.addEventListener(cu,h),u=E,()=>{l.removeEventListener(cu,h),u=null}},createHref(E){return t(l,E)},createURL:x,encodeLocation(E){let f=x(E);return{pathname:f.pathname,search:f.search,hash:f.hash}},push:v,replace:g,go(E){return o.go(E)}};return w}var fu;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(fu||(fu={}));function _p(e,t,n){return n===void 0&&(n="/"),Pp(e,t,n)}function Pp(e,t,n,r){let l=typeof t=="string"?mn(t):t,i=qo(l.pathname||"/",n);if(i==null)return null;let o=Oc(e);Tp(o);let s=null;for(let u=0;s==null&&u{let u={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:o,route:i};u.relativePath.startsWith("/")&&(X(u.relativePath.startsWith(r),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(r.length));let c=ht([r,u.relativePath]),m=n.concat(u);i.children&&i.children.length>0&&(X(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),Oc(i.children,t,m,c)),!(i.path==null&&!i.index)&&t.push({path:c,score:Dp(c,i.index),routesMeta:m})};return e.forEach((i,o)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))l(i,o);else for(let u of Mc(i.path))l(i,o,u)}),t}function Mc(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,l=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return l?[i,""]:[i];let o=Mc(r.join("/")),s=[];return s.push(...o.map(u=>u===""?i:[i,u].join("/"))),l&&s.push(...o),s.map(u=>e.startsWith("/")&&u===""?"/":u)}function Tp(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Fp(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const zp=/^:[\w-]+$/,Lp=3,Rp=2,Op=1,Mp=10,Ip=-2,pu=e=>e==="*";function Dp(e,t){let n=e.split("/"),r=n.length;return n.some(pu)&&(r+=Ip),t&&(r+=Rp),n.filter(l=>!pu(l)).reduce((l,i)=>l+(zp.test(i)?Lp:i===""?Op:Mp),r)}function Fp(e,t){return e.length===t.length&&e.slice(0,-1).every((r,l)=>r===t[l])?e[e.length-1]-t[t.length-1]:0}function Up(e,t,n){let{routesMeta:r}=e,l={},i="/",o=[];for(let s=0;s{let{paramName:v,isOptional:g}=m;if(v==="*"){let w=s[h]||"";o=i.slice(0,i.length-w.length).replace(/(.)\/+$/,"$1")}const x=s[h];return g&&!x?c[v]=void 0:c[v]=(x||"").replace(/%2F/g,"/"),c},{}),pathname:i,pathnameBase:o,pattern:e}}function Bp(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Rc(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],l="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,s,u)=>(r.push({paramName:s,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),l+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?l+="\\/*$":e!==""&&e!=="/"&&(l+="(?:(?=\\/|$))"),[new RegExp(l,t?void 0:"i"),r]}function $p(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Rc(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function qo(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function Wp(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:l=""}=typeof e=="string"?mn(e):e;return{pathname:n?n.startsWith("/")?n:Vp(n,t):t,search:Kp(r),hash:Yp(l)}}function Vp(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(l=>{l===".."?n.length>1&&n.pop():l!=="."&&n.push(l)}),n.length>1?n.join("/"):"/"}function ii(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Hp(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Ic(e,t){let n=Hp(e);return t?n.map((r,l)=>l===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Dc(e,t,n,r){r===void 0&&(r=!1);let l;typeof e=="string"?l=mn(e):(l=nr({},e),X(!l.pathname||!l.pathname.includes("?"),ii("?","pathname","search",l)),X(!l.pathname||!l.pathname.includes("#"),ii("#","pathname","hash",l)),X(!l.search||!l.search.includes("#"),ii("#","search","hash",l)));let i=e===""||l.pathname==="",o=i?"/":l.pathname,s;if(o==null)s=n;else{let h=t.length-1;if(!r&&o.startsWith("..")){let v=o.split("/");for(;v[0]==="..";)v.shift(),h-=1;l.pathname=v.join("/")}s=h>=0?t[h]:"/"}let u=Wp(l,s),c=o&&o!=="/"&&o.endsWith("/"),m=(i||o===".")&&n.endsWith("/");return!u.pathname.endsWith("/")&&(c||m)&&(u.pathname+="/"),u}const ht=e=>e.join("/").replace(/\/\/+/g,"/"),Qp=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Kp=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Yp=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Xp(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Fc=["post","put","patch","delete"];new Set(Fc);const Gp=["get",...Fc];new Set(Gp);/** * React Router v6.30.1 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */function rr(){return rr=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),C.useCallback(function(c,m){if(m===void 0&&(m={}),!s.current)return;if(typeof c=="number"){r.go(c);return}let h=Dc(c,JSON.parse(o),i,m.relative==="path");e==null&&t!=="/"&&(h.pathname=h.pathname==="/"?t:ht([t,h.pathname])),(m.replace?r.replace:r.push)(h,m.state,m)},[t,r,o,i,e])}function Bc(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=C.useContext(Ft),{matches:l}=C.useContext(Ut),{pathname:i}=Tl(),o=JSON.stringify(Ic(l,r.v7_relativeSplatPath));return C.useMemo(()=>Dc(e,JSON.parse(o),i,n==="path"),[e,o,i,n])}function eh(e,t){return th(e,t)}function th(e,t,n,r){ar()||X(!1);let{navigator:l}=C.useContext(Ft),{matches:i}=C.useContext(Ut),o=i[i.length-1],s=o?o.params:{};o&&o.pathname;let u=o?o.pathnameBase:"/";o&&o.route;let c=Tl(),m;if(t){var h;let E=typeof t=="string"?mn(t):t;u==="/"||(h=E.pathname)!=null&&h.startsWith(u)||X(!1),m=E}else m=c;let v=m.pathname||"/",g=v;if(u!=="/"){let E=u.replace(/^\//,"").split("/");g="/"+v.replace(/^\//,"").split("/").slice(E.length).join("/")}let x=_p(e,{pathname:g}),w=oh(x&&x.map(E=>Object.assign({},E,{params:Object.assign({},s,E.params),pathname:ht([u,l.encodeLocation?l.encodeLocation(E.pathname).pathname:E.pathname]),pathnameBase:E.pathnameBase==="/"?u:ht([u,l.encodeLocation?l.encodeLocation(E.pathnameBase).pathname:E.pathnameBase])})),i,n,r);return t&&w?C.createElement(Pl.Provider,{value:{location:rr({pathname:"/",search:"",hash:"",state:null,key:"default"},m),navigationType:it.Pop}},w):w}function nh(){let e=ch(),t=Xp(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,l={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return C.createElement(C.Fragment,null,C.createElement("h2",null,"Unexpected Application Error!"),C.createElement("h3",{style:{fontStyle:"italic"}},t),n?C.createElement("pre",{style:l},n):null,null)}const rh=C.createElement(nh,null);class lh extends C.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?C.createElement(Ut.Provider,{value:this.props.routeContext},C.createElement(Uc.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ih(e){let{routeContext:t,match:n,children:r}=e,l=C.useContext(bo);return l&&l.static&&l.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=n.route.id),C.createElement(Ut.Provider,{value:t},r)}function oh(e,t,n,r){var l;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if(!n)return null;if(n.errors)e=n.matches;else if((i=r)!=null&&i.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let o=e,s=(l=n)==null?void 0:l.errors;if(s!=null){let m=o.findIndex(h=>h.route.id&&(s==null?void 0:s[h.route.id])!==void 0);m>=0||X(!1),o=o.slice(0,Math.min(o.length,m+1))}let u=!1,c=-1;if(n&&r&&r.v7_partialHydration)for(let m=0;m=0?o=o.slice(0,c+1):o=[o[0]];break}}}return o.reduceRight((m,h,v)=>{let g,x=!1,w=null,E=null;n&&(g=s&&h.route.id?s[h.route.id]:void 0,w=h.route.errorElement||rh,u&&(c<0&&v===0?(fh("route-fallback"),x=!0,E=null):c===v&&(x=!0,E=h.route.hydrateFallbackElement||null)));let f=t.concat(o.slice(0,v+1)),d=()=>{let p;return g?p=w:x?p=E:h.route.Component?p=C.createElement(h.route.Component,null):h.route.element?p=h.route.element:p=m,C.createElement(ih,{match:h,routeContext:{outlet:m,matches:f,isDataRoute:n!=null},children:p})};return n&&(h.route.ErrorBoundary||h.route.errorElement||v===0)?C.createElement(lh,{location:n.location,revalidation:n.revalidation,component:w,error:g,children:d(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):d()},null)}var $c=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}($c||{}),Wc=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Wc||{});function sh(e){let t=C.useContext(bo);return t||X(!1),t}function uh(e){let t=C.useContext(Zp);return t||X(!1),t}function ah(e){let t=C.useContext(Ut);return t||X(!1),t}function Vc(e){let t=ah(),n=t.matches[t.matches.length-1];return n.route.id||X(!1),n.route.id}function ch(){var e;let t=C.useContext(Uc),n=uh(),r=Vc();return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function dh(){let{router:e}=sh($c.UseNavigateStable),t=Vc(Wc.UseNavigateStable),n=C.useRef(!1);return Ac(()=>{n.current=!0}),C.useCallback(function(l,i){i===void 0&&(i={}),n.current&&(typeof l=="number"?e.navigate(l):e.navigate(l,rr({fromRouteId:t},i)))},[e,t])}const hu={};function fh(e,t,n){hu[e]||(hu[e]=!0)}function ph(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function eo(e){X(!1)}function hh(e){let{basename:t="/",children:n=null,location:r,navigationType:l=it.Pop,navigator:i,static:o=!1,future:s}=e;ar()&&X(!1);let u=t.replace(/^\/*/,"/"),c=C.useMemo(()=>({basename:u,navigator:i,static:o,future:rr({v7_relativeSplatPath:!1},s)}),[u,s,i,o]);typeof r=="string"&&(r=mn(r));let{pathname:m="/",search:h="",hash:v="",state:g=null,key:x="default"}=r,w=C.useMemo(()=>{let E=qo(m,u);return E==null?null:{location:{pathname:E,search:h,hash:v,state:g,key:x},navigationType:l}},[u,m,h,v,g,x,l]);return w==null?null:C.createElement(Ft.Provider,{value:c},C.createElement(Pl.Provider,{children:n,value:w}))}function mh(e){let{children:t,location:n}=e;return eh(to(t),n)}new Promise(()=>{});function to(e,t){t===void 0&&(t=[]);let n=[];return C.Children.forEach(e,(r,l)=>{if(!C.isValidElement(r))return;let i=[...t,l];if(r.type===C.Fragment){n.push.apply(n,to(r.props.children,i));return}r.type!==eo&&X(!1),!r.props.index||!r.props.children||X(!1);let o={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(o.children=to(r.props.children,i)),n.push(o)}),n}/** * React Router DOM v6.30.1 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */function no(){return no=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[l]=e[l]);return n}function yh(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function gh(e,t){return e.button===0&&(!t||t==="_self")&&!yh(e)}const xh=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],wh="6";try{window.__reactRouterVersion=wh}catch{}const kh="startTransition",mu=dd[kh];function Sh(e){let{basename:t,children:n,future:r,window:l}=e,i=C.useRef();i.current==null&&(i.current=Ep({window:l,v5Compat:!0}));let o=i.current,[s,u]=C.useState({action:o.action,location:o.location}),{v7_startTransition:c}=r||{},m=C.useCallback(h=>{c&&mu?mu(()=>u(h)):u(h)},[u,c]);return C.useLayoutEffect(()=>o.listen(m),[o,m]),C.useEffect(()=>ph(r),[r]),C.createElement(hh,{basename:t,children:n,location:s.location,navigationType:s.action,navigator:o,future:r})}const Ch=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Eh=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Tt=C.forwardRef(function(t,n){let{onClick:r,relative:l,reloadDocument:i,replace:o,state:s,target:u,to:c,preventScrollReset:m,viewTransition:h}=t,v=vh(t,xh),{basename:g}=C.useContext(Ft),x,w=!1;if(typeof c=="string"&&Eh.test(c)&&(x=c,Ch))try{let p=new URL(window.location.href),y=c.startsWith("//")?new URL(p.protocol+c):new URL(c),S=qo(y.pathname,g);y.origin===p.origin&&S!=null?c=S+y.search+y.hash:w=!0}catch{}let E=Jp(c,{relative:l}),f=jh(c,{replace:o,state:s,target:u,preventScrollReset:m,relative:l,viewTransition:h});function d(p){r&&r(p),p.defaultPrevented||f(p)}return C.createElement("a",no({},v,{href:x||E,onClick:w||i?r:d,ref:n,target:u}))});var vu;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(vu||(vu={}));var yu;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(yu||(yu={}));function jh(e,t){let{target:n,replace:r,state:l,preventScrollReset:i,relative:o,viewTransition:s}=t===void 0?{}:t,u=qp(),c=Tl(),m=Bc(e,{relative:o});return C.useCallback(h=>{if(gh(h,n)){h.preventDefault();let v=r!==void 0?r:dl(c)===dl(m);u(e,{replace:v,state:l,preventScrollReset:i,relative:o,viewTransition:s})}},[c,u,m,r,l,n,e,i,o,s])}/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Nh=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Hc=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */var _h={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Ph=C.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:l="",children:i,iconNode:o,...s},u)=>C.createElement("svg",{ref:u,..._h,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:Hc("lucide",l),...s},[...o.map(([c,m])=>C.createElement(c,m)),...Array.isArray(i)?i:[i]]));/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Je=(e,t)=>{const n=C.forwardRef(({className:r,...l},i)=>C.createElement(Ph,{ref:i,iconNode:t,className:Hc(`lucide-${Nh(e)}`,r),...l}));return n.displayName=`${e}`,n};/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Th=Je("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const zh=Je("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Lh=Je("Linkedin",[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Rh=Je("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Oh=Je("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Qc=Je("Mountain",[["path",{d:"m8 3 4 8 5-5 5 15H2L8 3z",key:"otkl63"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const oi=Je("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Mh=Je("Twitter",[["path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",key:"pff0z6"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Ih=Je("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Dh(){const[e,t]=C.useState(!1),n=[{name:"Why Atlas",href:"#"},{name:"Services",href:"#"},{name:"How We Work",href:"#"},{name:"Insights",href:"/",active:!0}];return a.jsxs("nav",{className:"sticky top-0 z-50 bg-white border-b border-border-default",children:[a.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:a.jsxs("div",{className:"flex items-center justify-between h-16",children:[a.jsxs(Tt,{to:"/",className:"flex items-center gap-3",children:[a.jsx(Qc,{className:"w-8 h-8 text-atlas-blue",strokeWidth:2.5}),a.jsx("span",{className:"font-heading font-bold text-[22px] text-text-primary tracking-tight",children:"ATLAS"})]}),a.jsxs("div",{className:"hidden md:flex items-center gap-8",children:[n.map(r=>a.jsx(Tt,{to:r.href,className:`font-sans text-sm font-medium transition-colors ${r.active?"text-atlas-blue":"text-text-secondary hover:text-atlas-blue"}`,children:r.name},r.name)),a.jsx("button",{className:"px-5 py-2 bg-atlas-blue text-white font-medium text-sm rounded-lg hover:bg-[#004a94] transition-colors",children:"Contact Sales"})]}),a.jsx("button",{onClick:()=>t(!e),className:"md:hidden p-2 text-text-secondary",children:e?a.jsx(Ih,{size:24}):a.jsx(Oh,{size:24})})]})}),e&&a.jsx("div",{className:"md:hidden absolute top-16 left-0 right-0 bg-white border-b border-border-default shadow-lg",children:a.jsxs("div",{className:"px-4 py-6 space-y-4",children:[n.map(r=>a.jsx(Tt,{to:r.href,className:`block font-sans text-base font-medium ${r.active?"text-atlas-blue":"text-text-secondary"}`,onClick:()=>t(!1),children:r.name},r.name)),a.jsx("button",{className:"w-full px-5 py-2 bg-atlas-blue text-white font-medium text-sm rounded-lg hover:bg-[#004a94] transition-colors",children:"Contact Sales"})]})})]})}function Fh(){const e=["Cloud Security","Incident Response","Security Assessment","Managed Detection","Compliance Services"],t=["About Atlas","Leadership","Careers","News","Contact"],n=["Insights","Case Studies","White Papers","Security Advisories","Documentation"];return a.jsx("footer",{className:"bg-white border-t border-border-default mt-24",children:a.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-5 gap-12",children:[a.jsxs("div",{className:"md:col-span-1",children:[a.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[a.jsx(Qc,{className:"w-8 h-8 text-atlas-blue",strokeWidth:2.5}),a.jsx("span",{className:"font-heading font-bold text-[22px] text-text-primary tracking-tight",children:"ATLAS"})]}),a.jsx("p",{className:"text-sm text-text-secondary leading-relaxed",children:"World-premier enterprise security and IT partner protecting critical infrastructure."})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-heading font-semibold text-sm text-text-primary mb-4",children:"Services"}),a.jsx("ul",{className:"space-y-3",children:e.map(r=>a.jsx("li",{children:a.jsx(Tt,{to:"#",className:"text-sm text-text-secondary hover:text-atlas-blue transition-colors",children:r})},r))})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-heading font-semibold text-sm text-text-primary mb-4",children:"Company"}),a.jsx("ul",{className:"space-y-3",children:t.map(r=>a.jsx("li",{children:a.jsx(Tt,{to:"#",className:"text-sm text-text-secondary hover:text-atlas-blue transition-colors",children:r})},r))})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-heading font-semibold text-sm text-text-primary mb-4",children:"Resources"}),a.jsx("ul",{className:"space-y-3",children:n.map(r=>a.jsx("li",{children:a.jsx(Tt,{to:"#",className:"text-sm text-text-secondary hover:text-atlas-blue transition-colors",children:r})},r))})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-heading font-semibold text-sm text-text-primary mb-4",children:"Certifications"}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(oi,{className:"w-4 h-4 text-atlas-blue"}),a.jsx("span",{className:"text-sm text-text-secondary",children:"ISO 27001"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(oi,{className:"w-4 h-4 text-atlas-blue"}),a.jsx("span",{className:"text-sm text-text-secondary",children:"SOC 2 Type II"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(oi,{className:"w-4 h-4 text-atlas-blue"}),a.jsx("span",{className:"text-sm text-text-secondary",children:"FedRAMP"})]})]})]})]}),a.jsxs("div",{className:"mt-12 pt-8 border-t border-border-default flex flex-col sm:flex-row items-center justify-between gap-4",children:[a.jsx("p",{className:"text-sm text-text-tertiary",children:"© 2026 ATLAS Security. All rights reserved."}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),a.jsx("span",{className:"text-sm text-text-tertiary",children:"All systems operational"})]})]})]})})}function Uh(){const e=[{label:"Home",href:"#",current:!1},{label:"Insights",href:"#",current:!1},{label:"Nation-State Supply Chain Defense",href:"#",current:!0}];return a.jsx("nav",{className:"flex items-center gap-2 mb-8","aria-label":"Breadcrumb",children:e.map((t,n)=>a.jsxs("div",{className:"flex items-center gap-2",children:[n>0&&a.jsx(Th,{className:"w-3 h-3 text-[#9CA3AF]"}),t.current?a.jsx("span",{className:"text-xs font-medium text-atlas-blue",children:t.label}):a.jsx(Tt,{to:t.href,className:"text-xs text-text-tertiary hover:text-atlas-blue transition-colors",children:t.label})]},t.label))})}function Ah(){const e=encodeURIComponent(window.location.href),t=encodeURIComponent("Nation-State Actors Are Targeting Your Supply Chain"),n={linkedin:`https://www.linkedin.com/sharing/share-offsite/?url=${e}`,twitter:`https://twitter.com/intent/tweet?url=${e}&text=${t}`,email:`mailto:?subject=${t}&body=Check out this article: ${e}`};return a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx("span",{className:"text-sm text-text-tertiary font-medium",children:"Share:"}),a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("a",{href:n.linkedin,target:"_blank",rel:"noopener noreferrer",className:"text-text-tertiary hover:text-atlas-blue transition-colors","aria-label":"Share on LinkedIn",children:a.jsx(Lh,{className:"w-5 h-5"})}),a.jsx("a",{href:n.twitter,target:"_blank",rel:"noopener noreferrer",className:"text-text-tertiary hover:text-atlas-blue transition-colors","aria-label":"Share on Twitter",children:a.jsx(Mh,{className:"w-5 h-5"})}),a.jsx("a",{href:n.email,className:"text-text-tertiary hover:text-atlas-blue transition-colors","aria-label":"Share via Email",children:a.jsx(Rh,{className:"w-5 h-5"})})]})]})}function Bh(){return a.jsxs("div",{className:"mb-16",children:[a.jsx("h1",{className:"font-heading text-article-title text-text-primary mb-6 leading-tight",children:"Nation-State Actors Are Targeting Your Supply Chain. Here's How to Defend."}),a.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-6 text-sm text-text-tertiary",children:[a.jsx("span",{className:"font-medium",children:"By Atlas Security Intelligence Team"}),a.jsx("span",{className:"w-1 h-1 bg-text-tertiary rounded-full"}),a.jsx("time",{dateTime:"2026-03-24",children:"March 24, 2026"}),a.jsx("span",{className:"w-1 h-1 bg-text-tertiary rounded-full"}),a.jsx("span",{children:"14 min read"})]}),a.jsx("p",{className:"text-body-lg text-text-secondary mb-8 leading-relaxed",children:"The software supply chain has become the preferred attack vector for nation-state adversaries. From SolarWinds to the latest wave of software build compromises, the pattern is clear: attackers are targeting the trust enterprises place in their vendors. This article dissects the tactics, identifies the vulnerabilities, and provides a defensive framework that leading organizations are using to protect their supply chains."}),a.jsx(Ah,{})]})}function $h(){const e=[{title:"Trust is a vulnerability.",description:"Organizations that treat vendors as trusted insiders—without continuous validation—are exposing themselves to the most sophisticated adversaries. Trust must be earned, verified, and continuously reassessed."},{title:"The compromise is often silent.",description:"Nation-state supply chain attacks rarely trigger traditional security alerts. They embed in legitimate software, update mechanisms, and build pipelines. Detection requires specialized visibility into software integrity and development environments."},{title:"Software Bill of Materials (SBOM) is table stakes.",description:"Organizations that maintained comprehensive SBOMs could identify compromised components within hours. Those without spent weeks mapping their exposure. SBOM is no longer optional—it's a defensive imperative."},{title:"Build pipelines are the new perimeter.",description:"Attackers are compromising the environments where software is built, not just distributed. Securing CI/CD pipelines, build servers, and code repositories is now as critical as securing production."},{title:"Continuous vendor assessment beats point-in-time questionnaires.",description:"Annual vendor security questionnaires are insufficient against dynamic threats. Winners moved to continuous monitoring of vendor security posture, real-time risk scoring, and automated remediation workflows."}];return a.jsxs("div",{className:"bg-secondary rounded-2xl border-l-4 border-atlas-blue p-8 mb-16",children:[a.jsx("h2",{className:"font-heading text-xl font-semibold text-text-primary mb-6",children:"KEY TAKEAWAYS"}),a.jsx("ul",{className:"space-y-6",children:e.map((t,n)=>a.jsxs("li",{className:"flex gap-4",children:[a.jsx(zh,{className:"w-6 h-6 text-atlas-blue flex-shrink-0 mt-1"}),a.jsxs("div",{children:[a.jsx("strong",{className:"font-semibold text-text-primary",children:t.title})," ",a.jsx("span",{className:"text-text-primary",children:t.description})]})]},n))})]})}function Wh(){return a.jsxs("div",{className:"article-content",children:[a.jsx("p",{children:"In December 2020, the cybersecurity world changed. The SolarWinds compromise revealed that nation-state actors had inserted malicious code into a trusted software update—affecting 18,000 organizations, including multiple U.S. government agencies. It wasn't a breach of the victims' defenses. It was a compromise of the trust they placed in a vendor."}),a.jsxs("p",{children:["Since then, the pattern has repeated. The 2023 3CX compromise. The ongoing wave of software build pipeline attacks. The exploitation of open-source repositories like the ",a.jsx("code",{children:"xz"})," ","backdoor uncovered in 2024. The message is unambiguous:"," ",a.jsx("strong",{children:"nation-state adversaries have identified the supply chain as the most efficient path to their targets."})]}),a.jsx("p",{children:"Why? Because supply chain attacks scale. A single compromise of a widely used software component can deliver access to thousands of organizations simultaneously. They exploit the fundamental asymmetry of modern enterprise security: organizations spend billions securing their perimeters, but rarely apply the same rigor to the vendors they trust implicitly."}),a.jsxs("p",{children:["This article is not a retrospective. It is a ",a.jsx("strong",{children:"defensive playbook"}),"—a framework for securing your supply chain against the most sophisticated adversaries."]}),a.jsx("h2",{children:"The Anatomy of a Nation-State Supply Chain Attack"}),a.jsx("p",{children:"To defend against supply chain attacks, you must understand how they operate. The modern nation-state supply chain attack follows a predictable pattern:"}),a.jsx("h3",{children:"Phase 1: Reconnaissance"}),a.jsx("p",{children:"Attackers identify high-value targets and map their software dependencies. They look for vendors with privileged access, widely used software components, or poorly secured build pipelines. They study update mechanisms, distribution channels, and trust relationships."}),a.jsx("h3",{children:"Phase 2: Target Selection"}),a.jsx("p",{children:"Adversaries choose their insertion point. This could be:"}),a.jsxs("ul",{children:[a.jsx("li",{children:"A software vendor with privileged access to target environments"}),a.jsx("li",{children:"An open-source library maintained by a single developer"}),a.jsx("li",{children:"A build tool or CI/CD platform with insufficient access controls"}),a.jsx("li",{children:"A cloud provider or managed service with broad customer access"})]}),a.jsx("h3",{children:"Phase 3: Compromise"}),a.jsx("p",{children:"Attackers breach the target's development or build environment. They often use techniques that bypass traditional security controls:"}),a.jsxs("ul",{children:[a.jsx("li",{children:"Compromised credentials (often through phishing or credential stuffing)"}),a.jsx("li",{children:"Exploitation of unpatched vulnerabilities in build tools"}),a.jsx("li",{children:"Social engineering of developers or system administrators"}),a.jsx("li",{children:"Insertion into open-source projects through maintainer account takeover"})]}),a.jsx("h3",{children:"Phase 4: Insertion"}),a.jsx("p",{children:"Malicious code is embedded into legitimate software. The sophistication varies:"}),a.jsxs("ul",{children:[a.jsx("li",{children:"Direct code injection into source repositories"}),a.jsx("li",{children:"Compromise of build pipelines to inject code during compilation"}),a.jsx("li",{children:"Modification of software update mechanisms"}),a.jsx("li",{children:"Substitution of legitimate packages with malicious versions"})]}),a.jsx("h3",{children:"Phase 5: Distribution"}),a.jsx("p",{children:"The compromised software is distributed through normal channels. Customers download, install, and deploy it with full trust. The malicious code may lie dormant for months, establishing backdoors or exfiltrating data before attackers activate it."}),a.jsx("h3",{children:"Phase 6: Exploitation"}),a.jsx("p",{children:"Adversaries leverage their access to achieve their objectives: data exfiltration, lateral movement, persistence, or disruption."}),a.jsx("blockquote",{children:`"The SolarWinds attackers didn't need to breach 18,000 organizations. They only needed to breach one—and let their victims do the rest."`}),a.jsx("h2",{children:"Why Traditional Supply Chain Security Fails"}),a.jsx("p",{children:"Most organizations approach supply chain security through vendor questionnaires and annual assessments. These approaches are failing against nation-state adversaries for several reasons:"}),a.jsx("h3",{children:"The Assessment Gap"}),a.jsx("p",{children:"Annual questionnaires capture a point in time. Nation-state attacks unfold over months or years. A vendor that passed an assessment in January could be compromised by March—and you wouldn't know until the attack hits."}),a.jsx("h3",{children:"The Visibility Gap"}),a.jsx("p",{children:"Traditional security tools don't monitor software integrity throughout the development lifecycle. They can't tell you if a legitimate software update contains malicious code. They can't validate that the software you downloaded matches what the vendor intended to distribute."}),a.jsx("h3",{children:"The Trust Gap"}),a.jsx("p",{children:"Organizations treat trusted vendors as insiders—granting privileged network access, sharing sensitive data, and deploying vendor software without scrutiny. This trust is exactly what adversaries exploit."}),a.jsx("h3",{children:"The Response Gap"}),a.jsx("p",{children:"When a supply chain attack is discovered, most organizations lack the capability to rapidly identify which vendors are affected, which software components are compromised, and which systems require remediation."}),a.jsx("h2",{children:"The Defensive Framework: Securing the Software Supply Chain"}),a.jsx("p",{children:"Leading organizations are adopting a new framework for supply chain security—one that treats vendor trust as a vulnerability to be managed, not an assumption to be granted."}),a.jsx("h3",{children:"3.1 Software Bill of Materials (SBOM)"}),a.jsx("p",{children:"An SBOM is a formal record containing details of the components used to build software. It's the foundation of modern supply chain security."}),a.jsx("p",{children:a.jsx("strong",{children:"What a Comprehensive SBOM Includes:"})}),a.jsxs("ul",{children:[a.jsx("li",{children:"Component name, version, and supplier"}),a.jsx("li",{children:"Dependency relationships"}),a.jsx("li",{children:"Vulnerability information"}),a.jsx("li",{children:"Provenance data (where the component came from)"})]}),a.jsx("p",{children:a.jsx("strong",{children:"Why SBOM Matters:"})}),a.jsxs("p",{children:["When the ",a.jsx("code",{children:"xz"})," backdoor was discovered in March 2024, organizations with SBOMs could query their inventory and know within hours whether they were affected. Those without spent weeks—or never determined their exposure."]}),a.jsx("p",{children:a.jsx("strong",{children:"Implementation Guidance:"})}),a.jsxs("ul",{children:[a.jsx("li",{children:"Require SBOMs from all software vendors"}),a.jsx("li",{children:"Automate SBOM ingestion into your asset management system"}),a.jsx("li",{children:"Integrate SBOM data with vulnerability management tools"}),a.jsx("li",{children:"Use SBOMs to guide incident response when new vulnerabilities are discovered"})]}),a.jsx("h3",{children:"3.2 Build Pipeline Security"}),a.jsx("p",{children:"Attackers are increasingly targeting the environments where software is built. If you control your own software development, securing your build pipeline is non-negotiable."}),a.jsx("p",{children:a.jsx("strong",{children:"Critical Controls:"})}),a.jsxs("ul",{children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Isolated build environments."})," Build pipelines should run in isolated environments with strict network controls. Build servers should not have access to production environments."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Signed commits and code reviews."})," Require cryptographic signatures on all code commits. Mandate peer review before code merges."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Build integrity verification."})," Implement cryptographic verification of build outputs. Ensure that what was built matches what was intended."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Least privilege for build tools."})," CI/CD tools should have minimal permissions. No build pipeline should have the ability to deploy to production without additional controls."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Audit logging and monitoring."})," Comprehensive logging of all build activity. Anomaly detection for unusual build patterns."]})]}),a.jsx("h3",{children:"3.3 Continuous Vendor Risk Management"}),a.jsx("p",{children:"Annual questionnaires are dead. Continuous monitoring is the new standard."}),a.jsx("p",{children:a.jsx("strong",{children:"Elements of Continuous Vendor Risk Management:"})}),a.jsxs("ul",{children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Real-time threat intelligence."})," Monitor vendor security posture against threat feeds. Detect when vendors are mentioned in breach reports, dark web chatter, or vulnerability disclosures."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Automated security ratings."})," Use external security ratings to continuously assess vendor security posture. Track trends and anomalies."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Third-party attack surface monitoring."})," Continuously scan vendor external attack surfaces for exposed services, vulnerabilities, and configuration issues."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Contractual security requirements."})," Mandate continuous monitoring capabilities in vendor contracts. Require immediate notification of security incidents."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Automated remediation workflows."})," When a vendor's security posture degrades, trigger automated workflows: re-assess, request remediation, or initiate off-ramping."]})]}),a.jsx("h3",{children:"3.4 Software Integrity Verification"}),a.jsx("p",{children:"How do you know the software you're deploying is what the vendor intended?"}),a.jsx("p",{children:a.jsx("strong",{children:"Verification Techniques:"})}),a.jsxs("ul",{children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Code signing verification."})," Validate digital signatures on all software before deployment. Reject unsigned or mismatched signatures."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Checksum validation."})," Verify file hashes against vendor-provided values. Automate this validation in deployment pipelines."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Reproducible builds."})," For open-source software, use reproducible builds to verify that compiled binaries match the source code."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Runtime integrity monitoring."})," Monitor running applications for unexpected behavior. Detect when legitimate software is behaving maliciously."]})]}),a.jsx("h3",{children:"3.5 Privileged Access Management for Vendors"}),a.jsx("p",{children:"Vendors with privileged access to your environment represent a concentrated risk."}),a.jsx("p",{children:a.jsx("strong",{children:"Controls for Vendor Access:"})}),a.jsxs("ul",{children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Just-in-time access."})," Vendors should only have access when needed, and only for the duration required. No standing privileges."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Privileged access workstations."})," Require vendors to use dedicated, monitored workstations for privileged access."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Session recording and monitoring."})," Record all privileged vendor sessions. Review for anomalies."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Segregation of vendor networks."})," Vendor access should be limited to specific network segments. No broad network access."]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Regular access reviews."})," Quarterly reviews of all vendor access rights. Immediately revoke access when no longer needed."]})]}),a.jsx("h2",{children:"Case Study: Defending Against a Nation-State Supply Chain Attack"}),a.jsx("p",{children:"In 2025, a global financial institution we work with detected anomalous outbound traffic from a trusted vendor's software. The vendor—a major financial software provider—had been compromised through a build pipeline attack."}),a.jsx("p",{children:a.jsx("strong",{children:"What They Had in Place:"})}),a.jsxs("ul",{children:[a.jsx("li",{children:"Comprehensive SBOMs for all software"}),a.jsx("li",{children:"Continuous vendor security monitoring"}),a.jsx("li",{children:"Runtime integrity monitoring for critical applications"}),a.jsx("li",{children:"Automated incident response playbooks"})]}),a.jsx("p",{children:a.jsx("strong",{children:"How They Responded:"})}),a.jsx("p",{children:"Within 90 minutes of detection:"}),a.jsxs("ol",{className:"list-decimal list-inside mb-6 space-y-2",children:[a.jsx("li",{children:"The anomalous software component was identified through SBOM correlation"}),a.jsx("li",{children:"The vendor was notified and confirmed the compromise"}),a.jsx("li",{children:"Affected systems were isolated through automated containment"}),a.jsx("li",{children:"The compromised software was removed and replaced with a verified version"}),a.jsx("li",{children:"A post-incident review identified the root cause and remediation steps were implemented across all vendor software"})]}),a.jsxs("p",{children:[a.jsx("strong",{children:"The Outcome:"})," Zero data exfiltration. Zero lateral movement. The attack was contained before impact. Organizations without these controls experienced months-long investigations and significant data loss."]}),a.jsx("h2",{children:"Conclusion: The New Standard for Supply Chain Security"}),a.jsx("p",{children:"Nation-state supply chain attacks are not theoretical. They are the reality of modern enterprise security. The question is not whether your supply chain will be targeted—it's whether you'll detect and contain the attack before impact."}),a.jsx("p",{children:"The defensive framework outlined in this article represents the new standard:"}),a.jsxs("ul",{children:[a.jsx("li",{children:"Comprehensive Software Bill of Materials (SBOM)"}),a.jsx("li",{children:"Build pipeline security"}),a.jsx("li",{children:"Continuous vendor risk management"}),a.jsx("li",{children:"Software integrity verification"}),a.jsx("li",{children:"Privileged access management for vendors"})]}),a.jsx("p",{children:"Organizations that implement this framework can detect and contain supply chain compromises in hours—not months. Those that don't will become case studies in the next breach retrospective."}),a.jsx("blockquote",{children:'"The supply chain is no longer a secondary concern. It is the primary attack vector. Treat it accordingly."'}),a.jsxs("div",{className:"mt-12 p-8 bg-atlas-blue-light rounded-2xl border-l-4 border-atlas-blue",children:[a.jsx("h3",{className:"font-heading text-xl font-semibold text-text-primary mb-4",children:"Ready to secure your supply chain?"}),a.jsx("p",{className:"text-text-secondary mb-6",children:"ATLAS helps enterprise organizations implement comprehensive supply chain security frameworks. Our team of former nation-state defense specialists brings battle-tested strategies to protect your most critical dependencies."}),a.jsx("button",{className:"px-6 py-3 bg-atlas-blue text-white font-medium rounded-lg hover:bg-[#004a94] transition-colors",children:"Schedule a Security Assessment"})]})]})}function gu(){return a.jsx("main",{className:"bg-white",children:a.jsxs("article",{className:"max-w-article mx-auto px-4 sm:px-6 lg:px-8 py-8 sm:py-12 lg:py-16",children:[a.jsx(Uh,{}),a.jsx(Bh,{}),a.jsx($h,{}),a.jsx(Wh,{})]})})}function Vh(){return a.jsx(Sh,{children:a.jsxs("div",{className:"min-h-screen flex flex-col",children:[a.jsx(Dh,{}),a.jsx("div",{className:"flex-1",children:a.jsxs(mh,{children:[a.jsx(eo,{path:"/",element:a.jsx(gu,{})}),a.jsx(eo,{path:"*",element:a.jsx(gu,{})})]})}),a.jsx(Fh,{})]})})}Lc(document.getElementById("root")).render(a.jsx(Vh,{}));